plugins {
    id 'java'
    id 'maven-publish'
}

repositories {
    mavenLocal()
    maven {
        url = uri('https://repo.maven.apache.org/maven2/')
    }
}

dependencies {
    {{#useOas2}}
    implementation 'io.swagger:swagger-annotations:1.5.24'
    {{/useOas2}}
    {{^useOas2}}
    implementation "io.swagger.core.v3:swagger-annotations:2.0.0"
    {{/useOas2}}
    implementation 'com.squareup.okhttp:okhttp:2.7.5'
    implementation 'com.squareup.okhttp:logging-interceptor:2.7.5'
    implementation 'com.google.code.gson:gson:2.8.1'
    implementation 'io.gsonfire:gson-fire:1.8.0'
    {{#joda}}
    implementation 'joda-time:joda-time:2.9.9'
    {{/joda}}
    {{#threetenbp}}
    implementation 'org.threeten:threetenbp:1.3.5'
    {{/threetenbp}}
    implementation 'com.sun.xml.ws:jaxws-rt:{{#jakarta}}4.0.0{{/jakarta}}{{^jakarta}}2.3.3{{/jakarta}}'
    testImplementation 'junit:junit:4.13.1'
    {{#wiremock}}
    testImplementation "com.github.tomakehurst:wiremock:2.27.2"
    {{/wiremock}}
}

group = '{{groupId}}'
version = '{{artifactVersion}}'
description = '{{artifactDescription}}'

java.sourceCompatibility = 11
java.targetCompatibility = 11

tasks.register('testsJar', Jar) {
    archiveClassifier = 'tests'
    from(sourceSets.test.output)
}

java {
    withSourcesJar()
    withJavadocJar()
}

publishing {
    publications {
        maven(MavenPublication) {
            from(components.java)
            artifact(testsJar)
        }
    }
}

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}
